# 使用官方 Golang 镜像作为构建阶段
FROM golang:1.19-alpine AS builder

# 设置工作目录
WORKDIR /app

# 复制所有文件到工作目录
COPY . .

# 下载并安装依赖
RUN go mod init main
RUN go mod tidy

# 构建二进制文件
RUN go build -o /app/main .

# 使用更小的基础镜像
FROM alpine:latest

# 设置工作目录
WORKDIR /root/

# 将构建阶段的二进制文件复制到最终镜像
COPY --from=builder /app/main .

# 暴露应用运行端口
EXPOSE 9000

# 运行二进制文件
CMD ["./main"]
